'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.TH aio_error 3 2022-12-15 "Linux man-pages 6.03"
.SH NAME
aio_error \- get error status of asynchronous I/O operation
.SH LIBRARY
Real-time library
.RI ( librt ", " \-lrt )
.SH SYNOPSIS
.nf
.B "#include <aio.h>"
.PP
.BI "int aio_error(const struct aiocb *" aiocbp );
.fi
.SH DESCRIPTION
The
.BR aio_error ()
function returns the error status for the asynchronous I/O request
with control block pointed to by
.IR aiocbp .
(See
.BR aio (7)
for a description of the
.I aiocb
structure.)
.SH RETURN VALUE
This function returns one of the following:
.TP
.B EINPROGRESS
if the request has not been
completed yet.
.TP
.B ECANCELED
if the request was canceled.
.TP
.B 0
if the request completed successfully.
.TP
.RB "> " 0
A positive error number, if the asynchronous I/O operation failed.
This is the same value that would have been stored in the
.I errno
variable in the case of a synchronous
.BR read (2),
.BR write (2),
.BR fsync (2),
or
.BR fdatasync (2)
call.
.SH ERRORS
.TP
.B EINVAL
.I aiocbp
does not point at a control block for an asynchronous I/O request
of which the return status (see
.BR aio_return (3))
has not been retrieved yet.
.TP
.B ENOSYS
.BR aio_error ()
is not implemented.
.SH VERSIONS
The
.BR aio_error ()
function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR aio_error ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.SH EXAMPLES
See
.BR aio (7).
.SH SEE ALSO
.BR aio_cancel (3),
.BR aio_fsync (3),
.BR aio_read (3),
.BR aio_return (3),
.BR aio_suspend (3),
.BR aio_write (3),
.BR lio_listio (3),
.BR aio (7)
